En NumPy, Gestión de precisión es la selección intencional de profundidades de bits para equilibrar la eficiencia de memoria con la corrección numérica. A diferencia de los enteros estándar de Python, que tienen precisión arbitraria, NumPy utiliza tipos C de tamaño fijo (por ejemplo, int32_t, uint64_t).
1. La jerarquía de tipos
Los tipos de datos de NumPy definen el tamaño en memoria. Mientras que np.int_() proporciona un tamaño dependiente de la plataforma, los sistemas robustos dependen de Alias de tamaño fijo (Tabla: Página 34) para asegurar consistencia entre diferentes hardware.
- Enteros:
int8_t,int16_t,int32_t,int64_t. - Sin signo:
uint8_thastauint64_t. - Punteros:
intptr_t,uintptr_t.
2. Herramientas de introspección
Antes de ejecutar operaciones aritméticas, usa np.iinfo() y np.finfo() para inspeccionar límites. Por ejemplo, 1 + np.finfo(np.longdouble).eps identifica el épsilon de máquina — el umbral a partir del cual las sumas ya no cambian el valor.
3. Mecánica del desbordamiento
NumPy no lanza errores ante desbordamientos; falla silenciosamente. Al usar np.power(100, 8, dtype=np.int32) produce una truncación, mientras que float64 transita a inf. Usa np.issubdtype(d, np.floating) para validar categorías antes de realizar operaciones.